package com.ruoyi.vehicleDispatch.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 特殊时段派单规则对象 special_time_dispatch_rule
 * 
 * @author niuyi
 * @date 2025-08-19
 */
public class SpecialTimeDispatchRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** Id */
    private Integer ruleId;

    /** 规则名称 */
    @Excel(name = "规则名称")
    private String ruleName;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 周 */
    @Excel(name = "周")
    private String weekdays;

    /** 调度策略 */
    @Excel(name = "调度策略")
    private String dispatchStrategy;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 是否活动 */
    @Excel(name = "是否活动")
    private Integer isActive;

    public void setRuleId(Integer ruleId) 
    {
        this.ruleId = ruleId;
    }

    public Integer getRuleId() 
    {
        return ruleId;
    }

    public void setRuleName(String ruleName) 
    {
        this.ruleName = ruleName;
    }

    public String getRuleName() 
    {
        return ruleName;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setWeekdays(String weekdays) 
    {
        this.weekdays = weekdays;
    }

    public String getWeekdays() 
    {
        return weekdays;
    }

    public void setDispatchStrategy(String dispatchStrategy) 
    {
        this.dispatchStrategy = dispatchStrategy;
    }

    public String getDispatchStrategy() 
    {
        return dispatchStrategy;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setIsActive(Integer isActive) 
    {
        this.isActive = isActive;
    }

    public Integer getIsActive() 
    {
        return isActive;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ruleId", getRuleId())
            .append("ruleName", getRuleName())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("weekdays", getWeekdays())
            .append("dispatchStrategy", getDispatchStrategy())
            .append("description", getDescription())
            .append("isActive", getIsActive())
            .toString();
    }
}
